The Multiparadigm Programming Language CCFL

نویسنده

  • Petra Hofstedt
چکیده

Constraints support an efficient modeling and solution of problems in two ways: The most common application is their use for the description of problems with incomplete knowledge. On the other hand constraints may also serve as particular language constructs for the control of the program evaluation process. This paper presents the Concurrent Constraint Functional Language CCFL which comprises both aspects. Real-world problems comprise aspects from several realms. They are, thus, often best implemented by a combination of concepts from different paradigms. This combination is comfortably realised by multiparadigm programming languages, an area of research and application which has attracted increased interest in the recent years. The Concurrent Constraint Functional Language CCFL is a multiparadigm programming language which combines concepts and constructs from the functional and the constraintbased paradigms. The language enables the description of deterministic computations using a functional programming style and of non-deterministic behaviour based on constraints. Moreover, constraints are used to describe systems of concurrent cooperating processes and even typical parallelization patterns. We discuss language concepts and applications by means of examples. 1 Functional Programming In CCFL, functions are used to express deterministic computations. CCFL’s functional sublanguage inherits notions and concepts from the functional languages HASKELL and OPAL [Opa04, PH06]. It is a lazy language with polymorphic type system. A function consists of a type declaration and a definition allowing the typical constructs such as case-expressions, let-expressions, function application, and some predefined infix operator applications, constants, variables, and constructor terms. Free Variables In CCFL, expressions are allowed to contain free variables; this also applies to function applications. Function applications with free variables are evaluated using the residuation principle [Smo93], that is, function calls are suspended until the variables are bound to expressions such that a deterministic reduction is possible. For example, a function call (4 + x) with free variable x will suspend. In contrast, a com-

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Constraint Functional Multicore Programming

In this paper we present the concurrent constraint functional programming language CCFL and an abstract machine for the evaluation of CCFL programs in a multicore environment. The source language CCFL is a simple lazy functional language with a polymorphic type system augmented by ask-/tell-constraints and conjunctions to express concurrent coordination patterns. As execution model for CCFL we ...

متن کامل

Multiparadigm data structures in Leda

Multiparadigm programming is a term used to describe a style of software development that makes use of facilities originally designed in support of a number of di erent programming language paradigms. In this paper we illustrate our conception of multiparadigm programming, by describing how various data structures can be implemented in the programming language Leda. Leda is a strongly-typed com...

متن کامل

General-purpose multiparadigm programming languages: an enabling technology for constructing complex systems

Multiparadigm programming languages have been envisioned as a vehicle for constructing large and complex heterogeneous systems, such as a stock market exchange or a telecommunications network. General-purpose multiparadigm languages, as opposed to hybrid multiparadigm languages, embody several prevalent programming paradigms without being motivated by a single problem. One such language is Leda...

متن کامل

Translator-based multiparadigm programming

Better programming productivity may be obtained by choosing suitable programming paradigms. For development of complex software systems, multiparadigm programming would usually be appropriate. However, its use may be hindered by a lack of languages and programming support tools. As this paper argues, multiparadigm programming may be supported by translators that convert programs written in one ...

متن کامل

I+: A Multiparadigm Language for Object-Oriented Declarative Programming

This paper presents a multiparadigm language I+ which is an integration of the three major programming paradigms: object-oriented, logic and functional. I+ has an object-oriented framework in which the notions of classes, objects, methods, inheritance and message passing are supported. Methods may be specified as clauses or functions, thus the two declarative paradigms are incorporated at the m...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010